package cn.sf.service;

import cn.sf.pojo.User;

import java.util.List;

/**
 * @author
 */
public interface UserService {

    /**
     * 用来测试，给Redis中添加值的方法
     *
     * @param id
     * @return
     */
    String queryInformation(Long id);


    /**
     * @param user
     * 该方法用来修改个人信息
     * @return
     */
    String updateUserById(User user);



    User getRedisUserById(Long id);

    String uploadHead(String userHead, Long userId);

    //登录
    public User queryUser( String userCode,String userPassword);


    //注册
    public int userAdd(User user);


    //查询是否关注过该用户
    public boolean queryIsOrNotAttention(long userId1,long userId2);

    //点击关注用户的实现方法，包含3个sql语句
    //分别为给登录用户关注量+1,给视频用户粉丝数量+1,将信息添加到关注表中
    //userId1：登录用户ID        userId2:视频用户ID
    public String userAttention(long userId1,long userId2) throws Exception;



    /**
     * 根据用户ID查询用户的动态
     * @param userId 用户ID
     * @return
     */
    List<User> queryUserDynamicById(long userId);

    /**
     * 根据用户Id查询关注者的动态列表
     * @param userId
     * @return
     */
    List<User> queryUserAllDynamicById(long userId);

    /**
     * 根据用户ID查询用户面板
     * @param userId 用户ID
     * @return
     */
    User queryUserPanelById(long userId);



}
